﻿using LunarPhase.Model;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;

namespace LunarPhase.Model.Test
{
    /// <summary>
    ///This is a test class for MoonSignCalculatorTest and is intended
    ///to contain all MoonSignCalculatorTest Unit Tests
    ///</summary>
    [TestClass()]
    public class MoonSignCalculatorTest
    {
        [TestMethod()]
        public void CalculateMustBeLeo()
        {
            MoonSignCalculator target = new MoonSignCalculator();
            DateTime date = new DateTime(2010, 03, 26, 0, 10, 00);
            int hourTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Argentina Standard Time").BaseUtcOffset.Hours;
            Zodiac expected = Zodiac.Leo;
            Zodiac actual;
            actual = target.Calculate(date, hourTimeZone);
            Assert.AreEqual(expected, actual);
        }

        [TestMethod()]
        public void CalculateMustBePisces()
        {
            MoonSignCalculator target = new MoonSignCalculator();
            DateTime date = new DateTime(2010, 04, 11, 15, 19, 00);
            int hourTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Argentina Standard Time").BaseUtcOffset.Hours;
            Zodiac expected = Zodiac.Pisces;
            Zodiac actual;
            actual = target.Calculate(date, hourTimeZone);
            Assert.AreEqual(expected, actual);
        }


        [TestMethod()]
        public void CalculateMustBeScorpio()
        {
            MoonSignCalculator target = new MoonSignCalculator();
            DateTime date = new DateTime(2010, 04, 01, 15, 19, 00);
            int hourTimeZone = TimeZoneInfo.FindSystemTimeZoneById("Argentina Standard Time").BaseUtcOffset.Hours;
            Zodiac expected = Zodiac.Scorpio                ;
            Zodiac actual;
            actual = target.Calculate(date, hourTimeZone);
            Assert.AreEqual(expected, actual);
        }
    }
}